﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StrategyGame
{
    public class GameEffect
    {
        public int Power;
        public bool IsBoost;
        public bool IsInvolvedInRush;

        public GameEffect(bool isBoost)
        {
            IsBoost = isBoost;
            IsInvolvedInRush = false;
        }

        public virtual GameEffect GetInstance(int power)
        {
            return new GameEffect(IsBoost) {Power = power, IsInvolvedInRush = false };
            
        }

        public virtual void ModifyStats(CharacterStats stats){
            
        }


        public virtual void RevertStats(CharacterStats satats)
        {

        }

        public virtual int ModifyAttackDamage(int damage)
        {
            return damage;
        }

        public virtual int ModifyDamageTaken(int damage)
        {
            return damage;
        }

        public virtual int ModifyDefenseDamage(int damage)
        {
            return damage;
        }

        public virtual GameEffect ModifyBoostTaken(GameEffect effect)
        {
            return effect;
        }

    }
}
